package com.reliable.api.dto.task;

import com.reliable.api.dto.banned.XssTaskBannedDto;
import com.reliable.api.dto.model.XssTaskModelDto;
import com.reliable.api.dto.modelvariable.XssTaskModelVariableDto;
import com.reliable.api.dto.shell.XssShellDto;
import com.reliable.api.dto.source.XssSourceDto;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author yuyantao
 * ClassName: TaskInfoDto
 * date: 2025/7/31 17:35
 */
@Data
public class TaskInfoDto {

    /**
     * 任务id
     */
    private Long id;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 任务描述
     */
    private String taskDescription;
    /**
     * 任务编码
     */
    private String taskCode;
        /**
     * 模块id
     */
    private String modelIds;
    /**
     * 自定义代码
     */
    private String selfValue;

    /**
     * 模型变量信息，按modelId分组
     */
    private Map<Long, List<XssTaskModelVariableDto>> modelVariables;

    /**
     * 封禁设备列表
     */
    private List<XssTaskBannedDto> bannedDevices;

    /**
     * Shell信息
     */
    private XssShellDto shell;

    /**
     * Source信息
     */
    private XssSourceDto source;

    /**
     * 任务模型信息
     */
    private XssTaskModelDto taskModel;

    /**
     * 归属地id
     */
    private String addressId;

    private String addressName;

    private Date createTime;
    private Date updateTime;

    private String businessId;
}
